package org.msd;

import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SysExceptionResolVer implements HandlerExceptionResolver {
    /*
    处理异常业务逻辑 当控制器抛出异常 就会进入异常处理类执行
     */
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        //获取异常对象
        SysException sysException=null;
         if (e instanceof SysException){//判断是不是异常的子类
             sysException=(SysException)e;//将sysExceptionc成为异常类 成为自定义异常
         }else{//不是的时候就是将 其他错误改成统一的模式
             sysException=new SysException("系统维护中");
         }
         //创建ModelAndView对象
        ModelAndView modelAndView=new ModelAndView();
         modelAndView.addObject("errorMSG",sysException.getMessags());
         modelAndView.setViewName("404error");//设置视图 就是这个视图加载这个添加的东西
        return modelAndView;
    }
}
